Illustrative embodiments relate to semiconductor memory devices, and more particularly to methods of programming memory cells for a non-volatile memory device.
Semiconductor memory devices may be classified into two types: volatile memory devices and non-volatile memory devices. Flash memory devices (e.g., a NAND flash memory device) are widely used as non-volatile memory devices. Typically, a memory cell of a flash memory device may be programmed by a tunneling effect, and the flash memory device may employ an incremental step pulse program (ISPP) technique to narrow a threshold voltage (Vth) distribution of memory cells.
In conventional ISPP techniques, a program voltage continuously increases by a fixed step every program loop. Thus, flash memory devices employing conventional ISPP techniques consumes unnecessary power when the fixed step is relatively large (e.g., the program voltage may increase excessively). On the other hand, flash memory devices employing conventional ISPP techniques have low performance when the fixed step is relatively small (e.g., the number of program loops may be excessive).